iT邦幫忙

2022 iThome 鐵人賽

DAY 7
1

Day 7 Slash Command

Discord 的 Slash Command 是一個比較新的功能,以往的 Bot 都是讀取具特殊格式的訊息,例如 !help,來觸發 Bot 的功能,但是 Slash Command 則是使用 Discord 的一種 interaction 來觸發。

從使用者的角度來看,Slash Command 可以讓使用者更容易使用 Bot,因為不需要記憶特殊的指令格式,只要在聊天室輸入 /,就會出現可用的指令,並且可以直接點擊來使用,也會提示參數的類型和介紹,甚至做初步的檢查。

而且既然是 interaction,就也能用 ephemeral message 來回覆指令的執行結果或執行狀態,讓聊天室不會被 Bot 的回應擠爆。

從開發者的角度來看,Slash Command 為了要提供使用者提示以及指令的參數,必須要先向 Discord「註冊」指令,相對於直接回應訊息的方式或許較為煩人,但其實與多數 CLI 解析器(例如 commander)的策略是一樣的。

Discord 中有兩種 Slash Command,一種是全域的,可以在所有的伺服器中使用,另一種是 Guild 專屬的,只能在特定的伺服器中使用。一般的建議是測試時使用 Guild 專屬的(因為會立即更新),測試完成後再將指令註冊為全域的。但既然我們的策略本來就是 1-1 的模式,所以接下來我的設計會以使用 Guild 範圍的指令為主。

我希望能讓不同 interaction 的前端(指令、按鈕、選單)能共用相同的後端處理流程,並且提供對 stateful 持續交互的流程支援,但這聽起來好像有點難。

明天應該會從在模組中建立一個簡單的 Slash Command 開始。


每日鐵人賽熱門 Top 10 (2022-09-22)

以 2022/09/21 20:00 ~ 2022/09/22 20:00 文章觀看數增加值排名

誤差: 1 小時

  1. +1685 D04 - 門面怎麼可以沒有背景
    • 作者: 鱈魚
    • 系列:派對動物嗨起來!
  2. +1660 D06 - 打造遊戲選單按鈕
    • 作者: 鱈魚
    • 系列:派對動物嗨起來!
  3. +826 D02 - 來打個草稿吧
    • 作者: 鱈魚
    • 系列:派對動物嗨起來!
  4. +820 D03 - 建立專案
    • 作者: 鱈魚
    • 系列:派對動物嗨起來!
  5. +621 「全端挑戰」了解Scss與React Component與首頁概念圖與UI實作
    • 作者: Ko
    • 系列:自己做一個價值幾十萬的動態網站,學會Mern開發、前台UI設計各式觀念與各式Lib、typescript你該學會的前端技術
  6. +586 「全端挑戰」Scss與React Component的動態實作Navbar與Header
    • 作者: Ko
    • 系列:自己做一個價值幾十萬的動態網站,學會Mern開發、前台UI設計各式觀念與各式Lib、typescript你該學會的前端技術
  7. +559 「全端挑戰」製作動態網站第一步從了解useState與它的用法開始
    • 作者: Ko
    • 系列:自己做一個價值幾十萬的動態網站,學會Mern開發、前台UI設計各式觀念與各式Lib、typescript你該學會的前端技術
  8. +544 「全端挑戰」學習Mern全端開發概念與動態網站開發流程懶人包
    • 作者: Ko
    • 系列:自己做一個價值幾十萬的動態網站,學會Mern開發、前台UI設計各式觀念與各式Lib、typescript你該學會的前端技術
  9. +432 「全端挑戰」使用useState製作彈跳視窗、製作Calendar與各種互動介面
    • 作者: Ko
    • 系列:自己做一個價值幾十萬的動態網站,學會Mern開發、前台UI設計各式觀念與各式Lib、typescript你該學會的前端技術
  10. +319 Day01主題:參賽原因
    • 作者: 衛斯理傳奇
    • 系列:第一次學C#的經驗談

疑,SamKo 會什麼改名叫 Ko 了?


上一篇
Day 6 模組 Pipeline
下一篇
Day 8 對所有事件標準化以及簡易儲存系統
系列文
Discord Bot with TypeScript: Framework, Database, and Modules30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言